package com.ws.array;

import java.util.Arrays;

/*
一、数组的概述
1.数组的理解：数组（Array），是多个相同类型数据按一定顺序排列的集合，使用一个名字命名，
并通过编号的方式对这些数据进行统一管理

2.数组相关的概念：
数组名
元素
角标、下标、索引
数组的长度：元素的个数

3.数组的特点：
①：数组是有序排列的
②：数组属于引用数据类型的变量。数组的元素既可以是基本数据类型，也可以是引用数据类型
③：创建数据对象会在内存中开辟一整块连续的空间
④：数组的长度一旦确定，就不能修改

4.数组的分类：
①：按照维数：一维数组、二维数组、、、
②：按照数组元素的类型：基本数据类型元素的数组、引用数据类型元素的数组

5.一维数组的使用：
①：一维数组的声明和初始化
②：如何调用数组的指定位置的元素
③：如何获取数组的长度
④：如何遍历数组
⑤：数组元素的默认初始化值
⑥：数组的内存解析

 */
public class ArrayTest {
    public static void main(String[] args) {

        //1.一维数组的声明和初始化
        int num; //声明
        num = 10; //初始化
        int id = 100; //声明 + 初始化

        int[] ids; //声明
        //1.1 静态初始化：数组的初始化和数组元素的赋值操作同时进行
        ids = new int[]{100, 101, 102};
        //2.2 动态初始化：数组的初始化和数组元素的赋值操作分开进行
        String[] names = new String[5];

        //总结：数组一旦初始化完成，其长度就确定了

        //2.如何调用数组的指定位置的元素：通过索引的方式调用
        //数组的索引从 0 开始，到数组的 长度-1 结束
        names[0] = "李四1";
        names[1] = "李四2";
        names[2] = "李四3";
        names[3] = "李四4";
        names[4] = "李四5";

        System.out.println(Arrays.toString(names));

        //3.如何获取数组的长度
        //属性：length
        System.out.println(names.length);

        //4.如何遍历数组
        for (int i = 0; i < names.length; i++) {
            System.out.println(names[i]);
        }

        //使用增强 for 循环遍历
        for (String name: names) {
            System.out.println(name);
        }

    }
}
